package ventanas;

import javax.swing.ImageIcon;
import javax.swing.JFrame;
import javax.swing.JMenuBar;
import javax.swing.JDesktopPane;
import javax.swing.JMenu;
import javax.swing.JMenuItem;

import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
import java.sql.Connection;
import java.sql.SQLException;
import java.util.List;

import javax.swing.JTextArea;
import javax.swing.JScrollPane;

import util.Conexion;

import bean.ListaPrecio;
import controlador.ClienteController;
import controlador.ComprasController;
import controlador.PreciosController;
import controlador.SeguridadController;
import javax.swing.JLabel;
import javax.swing.JButton;
import javax.swing.JTextField;
import javax.swing.SwingConstants;

import org.jdesktop.swingx.JXFrame;
import org.jdesktop.swingx.JXStatusBar;

import delegate.GestionPrecios;

public class FMenuPrincipalFacturacion extends JFrame{
	
	private JDesktopPane dpEscritorio;
	private JLabel lblSpeed;
	private JMenuItem mntmCompras;
	private JMenuItem mntmRegistroDeVentas;
	private JMenuItem mntmCliente;
	private JMenuItem mntmEmpleado;
	private JMenuItem mntmListaDePrecios;
	private JMenuItem mntmConsultaDePedidos;
	private JMenuItem mntmSalir;
	private JMenuBar menuBar;
	private JMenu mnConsultas;
	private JMenu mnMantenimiento;
	private JMenu mnReporte;

	public FMenuPrincipalFacturacion(){
		
		setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
		setSize(800, 600);
		//setExtendedState(MAXIMIZED_BOTH);
		
		dpEscritorio = new JDesktopPane();
		dpEscritorio.setBackground(Color.WHITE);
		dpEscritorio.setLayout(null);
	
		setContentPane(dpEscritorio);
		
		getContentPane().setLayout(null);
			
		menuBar = new JMenuBar();
		setJMenuBar(menuBar);
		
		mnReporte = new JMenu("Reporte");
		menuBar.add(mnReporte);
		
		mntmCompras = new JMenuItem("Registro de Compras");
		mntmCompras.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
				FIRegistroCompras registroCompras = new FIRegistroCompras();
				registroCompras.setVisible(true);
							
				ComprasController controlador = new ComprasController(registroCompras);
				registroCompras.setControlador(controlador);
				
				getContentPane().add(registroCompras);
			}
		});
		mnReporte.add(mntmCompras);
		
		mntmRegistroDeVentas = new JMenuItem("Registro de Ventas");
		mnReporte.add(mntmRegistroDeVentas);
		
		mnMantenimiento = new JMenu("Mantenimiento");
		menuBar.add(mnMantenimiento);
		
		mntmCliente = new JMenuItem("Cliente");
		mntmCliente.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
				FIMantenimientoCliente mCliente = new FIMantenimientoCliente();
				mCliente.setVisible(true);
				getContentPane().add(mCliente);
				
				ClienteController controlador = new ClienteController(mCliente);
				mCliente.setControlador(controlador);
				
			}
		});
		
		mnMantenimiento.add(mntmCliente);
		
		mntmEmpleado = new JMenuItem("Empleado");
		mntmEmpleado.setVisible(false);
		mnMantenimiento.add(mntmEmpleado);
		
		mntmListaDePrecios = new JMenuItem("Lista de Precios");
		mntmListaDePrecios.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
				FIMantenimientoListaPrecios mListaPrecios = new FIMantenimientoListaPrecios();
				mListaPrecios.setVisible(true);
				
				PreciosController controlador = new PreciosController(mListaPrecios);
				mListaPrecios.setControlador(controlador);
				try {
					List<ListaPrecio> lista = GestionPrecios.getPrecioService().listar();
					for (ListaPrecio listaPrecio : lista) {
						mListaPrecios.getCboListaPrecio().addItem(listaPrecio.getLpcodi());
					}
				} catch (SQLException e1) {
					// TODO Auto-generated catch block
					e1.printStackTrace();
				}
				
				getContentPane().add(mListaPrecios);
			}
		});
		mnMantenimiento.add(mntmListaDePrecios);
			
		mntmSalir = new JMenuItem("Salir");
		mntmSalir.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
				dispose();
			}
		});
		
		mnConsultas = new JMenu("Consultas");
		menuBar.add(mnConsultas);
		
		mntmConsultaDePedidos = new JMenuItem("Consulta de Pedidos");
		mnConsultas.add(mntmConsultaDePedidos);
		menuBar.add(mntmSalir);
		
		lblSpeed = new JLabel("");
		lblSpeed.setIcon(new ImageIcon("imagenes/menuFacturacion.png"));
		lblSpeed.setBounds(0, 0, 831, 446);
		lblSpeed.setVisible(false);
		dpEscritorio.add(lblSpeed);
		
		
	//	JXStatusBar stbBarraEstado = new JXStatusBar();
		//stbBarraEstado.setSize(10, 20);
		//setStatusBar(stbBarraEstado);
	//	dpEscritorio.add(stbBarraEstado, BorderLayout.SOUTH );
	
	}
	
}
